/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.foxinline.servico;

import br.com.foxinline.modelo.Grupo;
import br.com.foxinline.modelo.Usuario;
import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.Query;

/**
 *
 * @author ely
 */
@Stateless
public class GrupoServico extends ServicoGenerico<Grupo> {

    public GrupoServico() {
        super(Grupo.class);
    }

    public List<Grupo> findGrupos(Usuario u) {
        String sql = "SELECT g FROM Usuario u JOIN u.grupos g WHERE u.id = :id";
        Query query = getEntityManager().createQuery(sql);
        query.setParameter("id", u.getId());
        return (List<Grupo>) query.getResultList();
    }

    public List<Grupo> findGruposE(Usuario u) {
        String gruposId = "";
        for (Grupo g : findGrupos(u)) {
            gruposId += g.getId() +",";
        }
        
        gruposId = gruposId.substring(0, gruposId.length()-1);
        
        String sql = "select g from Grupo g where g.id not in ("+gruposId+")";
        Query query = getEntityManager().createQuery(sql);
        
       
        
        return (List<Grupo>) query.getResultList();
    }
}
